package com.jcfk.eam.service.mould.strategy;

import com.jcfk.eam.domain.po.mould.MouldGroupDetail;

public class MouldGroupStrategyFactory {
    public static MouldGroupStrategy getStrategy(MouldGroupDetail oldDetail, MouldGroupDetail newDetail) {
        // 新数据不存在  旧数据存在  -> 拆卸
        if (newDetail == null) {
            return new MouldGroupStrategy.NoNewDetailStrategy();
            // 新数据存在  旧数据存在  但是displayCode不同  -> 状态不变修改displayCode和sort
        } else if (!newDetail.getDisplayCode().equals(oldDetail.getDisplayCode())) {
            return new MouldGroupStrategy.DisplayCodeChangedStrategy();
            // 新数据存在  旧数据存在  displayCode相同 但是在旧数据中状态为已拆卸  -> 组装
        } else if (!oldDetail.getGroupStatus().equals("1")) {
            return new MouldGroupStrategy.StatusChangedStrategy();
            // 新数据存在  旧数据存在  displayCode相同 但是在旧数据中状态为组装  ->  不变
        } else {
            return new MouldGroupStrategy.NewDetailStrategy();
        }
    }
}
